package org.easydarwin.beans;

import android.databinding.BaseObservable;
import android.databinding.Bindable;

import org.easydarwin.easyrtc.BR;


/**
 * Created by stamSuper on 2017/11/19.
 * 功能：ListView的条目更新
 * 实现步骤：

 在Bean类中继承观察者BaseObservable
 在需要被观察的属性getter方法上添加注解@Bindable。因为xml中就是通过getter来获取值的，这里也是为了在BR文件生成此字段标识
 在更新的方法中，添加属性更新通知方法：notifyPropertyChanged(int variableId);。一般把它放在Setter方法中，因为属性值都是通过这里改变的。

 */
// 1、继承BaseObservable
public class Helper extends BaseObservable {
    private String id;
    private String name;
    private String type;
    private String desc;

    public Helper() {
    }

    public Helper(String id, String name , String desc, String type) {
        this.id = id;
        this.name = name;
        this.desc = desc;
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    // 2、在属性值的Getter上添加@Bindable注解
    @Bindable
    public String getDesc() {
        return desc;
    }

    // 3、在更新的地方添加属性更新通知方法：notifyPropertyChanged(filedId);
    public void setDesc(String desc) {
        this.desc = desc;
    }
    @Bindable
    public String getId() {
        return id;
    }


    public void setId(String id) {
        this.id = id;
    }
    @Bindable
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Helper{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }

}
